def generate_test_cases():
    """
    生成测试数据
    """
    test_cases = []
    
    # 测试用例1：基本测试用例 - 相同任务数量
    test_cases.append({
        "input": {
            "tasks": ["A", "A", "A", "B", "B", "B"],
            "n": 2
        },
        "expected": 8,
        "description": "基本测试用例：相同任务数量，冷却时间为2"
    })
    
    # 测试用例2：不同任务数量
    test_cases.append({
        "input": {
            "tasks": ["A", "C", "A", "B", "D", "B"],
            "n": 1
        },
        "expected": 6,
        "description": "不同任务数量，冷却时间为1"
    })
    
    # 测试用例3：较长冷却时间
    test_cases.append({
        "input": {
            "tasks": ["A", "A", "A", "B", "B", "B"],
            "n": 3
        },
        "expected": 10,
        "description": "较长冷却时间，需要多次待命"
    })
    
    # 测试用例4：单个任务
    test_cases.append({
        "input": {
            "tasks": ["A"],
            "n": 0
        },
        "expected": 1,
        "description": "单个任务，无冷却时间"
    })
    
    # 测试用例5：多个相同任务
    test_cases.append({
        "input": {
            "tasks": ["A", "A", "A", "A", "A"],
            "n": 1
        },
        "expected": 9,
        "description": "多个相同任务，需要多次冷却"
    })
    
    # 测试用例6：不同频率任务
    test_cases.append({
        "input": {
            "tasks": ["A", "A", "A", "B", "B", "C", "C", "D"],
            "n": 2
        },
        "expected": 10,
        "description": "不同频率任务，需要合理安排顺序"
    })
    
    return test_cases

if __name__ == "__main__":
    test_cases = generate_test_cases()
    for i, case in enumerate(test_cases, 1):
        print(f"测试用例 {i}:")
        print(f"输入: tasks = {case['input']['tasks']}, n = {case['input']['n']}")
        print(f"预期输出: {case['expected']}")
        print(f"描述: {case['description']}")
        print()
